// -------------------------------------------------------------------------------------------------------------------
//
//  File: RTLSDisplayApplication.h
//
//  Copyright 2016 (c) Decawave Ltd, Dublin, Ireland.
//
//  All rights reserved.
//
//  Author:
//
// -------------------------------------------------------------------------------------------------------------------

#ifndef RTLSDISPLAYAPPLICATION_H
#define RTLSDISPLAYAPPLICATION_H

#include <QApplication>

#include <qthread.h>


class MainWindow;
class MoveAction;
class SLAMwidget;


class RTLSDisplayApplication : public QApplication
{
    Q_OBJECT
public:
    explicit RTLSDisplayApplication(int &argc, char ** argv);
    virtual ~RTLSDisplayApplication();

    static RTLSDisplayApplication *instance();

    static MainWindow *mainWindow();

    static MoveAction* moveAction();
    static SLAMwidget *pathWidget();


    static void connectReady(QObject *receiver, const char *member, Qt::ConnectionType type = Qt::AutoConnection);

signals:

    void ready();
    void statusBarMessage(QtMsgType type, QString msg);

public slots:
    void onChangeStyle(const QString& qss);

protected:

private:


    MainWindow *_mainWindow;

    MoveAction *_moveAction;




    bool _ready;
};

#define App RTLSDisplayApplication::instance()

#endif // RTLSDISPLAYAPPLICATION_H
